Plasma Effect
   HOME

TheInfoList



OR:

The plasma effect is a computer-based visual effect animated in real-time. It uses cycles of changing colours warped in various ways to give an illusion of liquid, organic movement. Plasma was the name of a
VGA Video Graphics Array (VGA) is a video display controller and accompanying de facto graphics standard, first introduced with the IBM PS/2 line of computers in 1987, which became ubiquitous in the PC industry within three years. The term can no ...
graphics demo created by Bret Mulvey in 1988 and released on
CompuServe CompuServe (CompuServe Information Service, also known by its initialism CIS) was an American online service provider, the first major commercial one in the world – described in 1994 as "the oldest of the Big Three information services (the oth ...
. It used a
diamond-square algorithm The diamond-square algorithm is a method for generating heightmaps for computer graphics. It is a slightly better algorithm than the three-dimensional implementation of the midpoint displacement algorithm, which produces two-dimensional landscap ...
to generate a 2D pattern, and then cycled the colors using VGA's hardware palette in its 256-color mode. Plasma was picked up by demo coders for their
demos Demos may refer to: Computing * DEMOS, a Soviet Unix-like operating system * DEMOS (ISP), the first internet service provider in the USSR * Demos Commander, an Orthodox File Manager for Unix-like systems * plural for Demo (computer programming) ...
where the effect was heavily used, especially in the early 1990s. The effect was particularly common on the
Commodore Amiga Amiga is a family of personal computers introduced by Commodore in 1985. The original model is one of a number of mid-1980s computers with 16- or 32-bit processors, 256 KB or more of RAM, mouse-based GUIs, and significantly improved graphi ...
where it could be implemented very efficiently with its display hardware features. Plasma can also be implemented easily in
software rendering Software rendering is the process of generating an image from a model by means of computer software. In the context of computer graphics rendering, software rendering refers to a rendering process that is not dependent upon graphics hardware AS ...
by using sinus tables and pseudocolor palettes, and it has also been the first true demo effect for many beginning PC democoders. The fractal software
Fractint Fractint is a freeware computer program to render and display many kinds of fractals. The program originated on MS-DOS, then ported to the Atari ST, Linux, and Macintosh. During the early 1990s, Fractint was the definitive fractal generating pro ...
also incorporates an algorithm known as "plasma", which, when combined with the
color cycling Color cycling, also known as palette shifting, is a technique used in computer graphics in which colors are changed in order to give the impression of animation. This technique was mainly used in early computer games, as storing one image and cha ...
feature of the software, can provide a result which resembles a typical plasma effect used in demos. The technical basis, however, is completely different, and a color cycling plasma is somewhat less dynamic than a demo plasma. Similar effects can be implemented on modern
GPUs A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobil ...
using
pixel shaders In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene - a process known as ''shading''. Shaders have evolved to perform a variety of speci ...
.


Synopsis

As there are many "hacked" approaches for implementing a plasma effect, this outline of an algorithm will just describe the theoretical basis for the effect. In order to achieve a sufficiently fast and good-looking real-time implementation (especially on the limited hardware available at the time this effect was at the height of its popularity in the 1990s), one would often do "non-correct" approximations to this algorithm. This, however, can often be done without noticeable visual differences. This algorithm is given in two dimensions, but could easily be adopted to any number of dimensions or any number of color channels. Let f(x, y) be a multi-frequency noise function of two variables (''e.g.'', a
Perlin noise Perlin noise is a type of gradient noise developed by Ken Perlin. History Ken Perlin developed Perlin noise in 1983 as a result of his frustration with the "machine-like" look of computer-generated imagery (CGI) at the time. He formally descr ...
function). Let each color component c at the pixel (x, y) be a linear function of the expression \sin(f(x,y) * \text_c). Increasing the value of the constant \text{freq}_c tends to increase the steepness of the color gradients in the image.


See also

Diamond-square algorithm The diamond-square algorithm is a method for generating heightmaps for computer graphics. It is a slightly better algorithm than the three-dimensional implementation of the midpoint displacement algorithm, which produces two-dimensional landscap ...
is the fractal used by the original Plasma demo, and is now often called the plasma fractal which was the name given to it in Fractint.


External links


Page explaining how the effect is built and including a JavaScript animation
Demo effects